﻿#define _CRT_SECURE_NO_WARNINGS
//给定一个长度为N 的数组A，请你先从小到大输出它的每个元素，再从大到小输出它的每个元素。
//输入描述
//第一行包含一个整数N。
//第二行包含N 个整数
//1��a1,a,n​，表示数组�A 的元素。
//输出描述
//输出共两行，每行包含
//�
//N 个整数，表示答案。
#include <stdio.h>
#include <stdlib.h>
//C语言中用qsort()函数解决排序问题！！！！！！
int a[500000];//数组写在最前面
int cmp_int(const void* _a, const void* _b) {//固定格式，必须记住了！！！！！
    int* num1 = (int*)_a;
    int* num2 = (int*)_b;
    return *num1 - *num2;
}//难点
int main(int argc, char* argv[])
{
    int i;
    int n;
    scanf("%d", &n);
    for (i = 0; i < n; i++) {
        scanf("%d", &a[i]);
    }
    qsort(a, n, sizeof(a[0]), cmp_int);//固定格式，必须记住！！！！！
    //qsort（）函数本身就是升序；
    for (i = 0; i < n; i++) {
        printf("%d ", a[i]);
    }//升序
    printf("\n");
    for (i = n - 1; i >= 0; i--) {
        printf("%d ", a[i]);
    }//降序
    return 0;
}